package com.mingzhi.pojo;

import lombok.Data;

@Data
public class Result {

    private Integer code; //编码：1成功，0为失败
    private String msg; //错误信息
    private Object data; //数据

    /**
     * 创建一个表示操作成功的Result对象。
     *
     * 该函数初始化一个Result对象，并设置其状态码为1，消息为"success"，
     * 通常用于表示操作成功的情况。
     *
     * @return Result 返回一个包含成功状态码和消息的Result对象。
     */
    public static Result success() {
        // 初始化Result对象并设置成功状态码和消息
        Result result = new Result();
        result.code = 1;
        result.msg = "success";
        return result;
    }

    /**
     * 创建一个表示操作成功的Result对象。
     *
     * 该函数用于封装一个操作成功的结果，返回的Result对象包含操作成功的数据、状态码和消息。
     *
     * @param object 操作成功时返回的数据对象，可以是任意类型。
     * @return 返回一个Result对象，其中包含成功的数据、状态码为1和消息为"success"。
     */
    public static Result success(Object object) {
        // 创建一个新的Result对象
        Result result = new Result();

        // 设置Result对象的数据、状态码和消息
        result.data = object;
        result.code = 1;
        result.msg = "success";

        // 返回封装好的Result对象
        return result;
    }


    /**
     * 创建一个表示错误的Result对象。
     *
     * 该函数用于生成一个包含错误信息的Result对象，通常用于返回操作失败的结果。
     *
     * @param msg 错误信息，描述错误的具体内容。
     * @return 返回一个Result对象，其中包含错误信息和默认的错误代码（0）。
     */
    public static Result error(String msg) {
        Result result = new Result();
        result.msg = msg;
        result.code = 0;
        return result;
    }
}
